package com.tupu.service.admin;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tupu.common.PageResult;
import com.tupu.entity.admin.RelationBuildingInfo;
import com.tupu.entity.admin.RelationInfo;

import java.io.IOException;
import java.net.URISyntaxException;
import java.util.List;

public interface RelationService extends IService<RelationInfo> {

    //读取csv文件 导入标签间关系
    List<List<String>> addRelationAndBuild(String file_path, Long node_id) throws IOException, URISyntaxException;

    //删除图谱下关系，关联表，
    void delRealtion(Long node_id, Integer id);

    //根据id更新关系,修改实例关系名
    void updateRelation(Long id, String name, Long node_id);

    //构建 本体标签间关系
    String buildingRelation(Long start_id, Long end_id, Long relation_id, Long node_id, String relation);

    //通过关系id（relation_id） 查询关系数据 分页
    PageResult<RelationBuildingInfo> pageInfo(Integer page, Integer size, List<Long> ids);

    //根据关联表id查询一条关系列表
    RelationBuildingInfo findOne(Long id);

    //根据id编辑修改 本体间关系
    String updateRelationBuilding(Long id, Long start_id, Long end_id, Long relation_id, String relation, Long node_id);

    //根据图谱node_id 查询关系表数据
    List<RelationInfo> findRelByNodeId(Long node_id);

    //标签关系数据(数据不分页)
    List<RelationBuildingInfo> labelRelationDataManagementAll(Long node_id);
}
